//检测更新
function getVersion(wgtVer){
	if(plus && wgtVer){
		//获取线上版本号
		myAjax('home/Version/index','get','',function(e){
			var e = JSON.parse(e);
			var curVer = wgtVer;
			var androidVer = e.aversion;
			var androidUrl = e.aurl;
			var iosUrl = e.iurl;
			var iosVer = e.iversion;
			var time = e.time;
			var obj = {},str='';
			if(plus.os.name == 'iOS'){
				return;
//				plus.storage.setItem("updateUrl",iosUrl);
//				str += '发现新版本'+iosVer+'，您当使用的版本为'+curVer+'。是否立即更新？';
//				obj = {
//					version:iosVer,
//					url:iosUrl,
//					title:'版本更新',
//					note:str,
//					time:time,
//					btnArray:['暂不更新','立即下载']
//				}
			}else{
				plus.storage.setItem("updateUrl",androidUrl);
				str += '发现新版本'+androidVer+'，您当使用的版本为'+curVer+'。是否立即更新？';
				obj = {
					version:androidVer,
					url:androidUrl,
					title:'版本更新',
					note:str,
					time:time,
					btnArray:['暂不更新','立即下载']
				}
			}
			checkUpdateData(wgtVer,obj,259200);			
			
		})
	}
}

/**
 * 检查升级数据
 * @param {String} wgtVer 当前版本号
 * @param {Object} j 弹窗提示信息
 * @param {time} checkInterval 升级检查间隔，单位为ms,7天为7*24*60*60=604800
 */
function checkUpdateData(wgtVer,j,checkInterval){
	//当前客户端版本号
	
	var curVer = wgtVer;
	if(j){
		var srcVer = j.version;
		//判断是否需要升级
		if(compareVersion(curVer,srcVer)){
			//console.log(curVer,srcVer);
			var update = plus.storage.getItem('checkUpdate');
			var newVer = plus.storage.getItem('newVersion');
			if(newVer && srcVer == newVer){
				console.log("忽略的版本");
				plus.storage.removeItem('icon');
			}else{
				plus.storage.setItem('icon','true');
				plus.storage.setItem('ajaxVersion',srcVer.toString());
			}
			
			//判断是否需要弹窗
			if(update && update != ''){
				var nowTime = j.time;
				//console.log(nowTime,update);
				if(nowTime - update < checkInterval){
					return;
				}else{
					confirm(j);
				}
			}else{
				confirm(j);
			}	
		}else{
			var ajaxVersion = plus.storage.getItem('ajaxVersion');
			var icon = plus.storage.getItem('icon');
			if(ajaxVersion){
				plus.storage.removeItem('ajaxVersion');
			}
			if(icon){
				plus.storage.removeItem('icon');
			}
		}
	}
}

//提示用户是否升级
function confirm(j){
	plus.nativeUI.confirm(j.note,function(i){
		switch(i.index){
			case 0:
			var time = j.time;
			var newVersion = j.version;
			plus.storage.setItem('checkUpdate',time.toString());
			break;
			case 1:
			if(plus.os.name == 'iOS'){
				plus.runtime.openURL(j.url);	
			}else{
				downWgt(j.url);
			}
			break;
			default:
			break;
		}
	},'',j.btnArray);	
}



/**
 * 比较版本大小，如果新版本nv大于旧版本ov就返回true，否则就返回false
 * @param {String} ov
 * @param {String} nv
 * @return {Boolean}
 */
function compareVersion(ov,nv){
	if(!ov || !nv || ov == "" || nv == ""){
		return false;
	}
	var b = false,
	    ova = ov.split(".",4),
	    nva = nv.split(".",4),
	    j = ova.length,
	    k = nva.length;
//	    console.log("ova:"+ova+"nva:"+nva);
	for(var i =0;i < j && i < k;i += 1){
		var so = ova[i],
		    no = parseInt(so),
		    sn = nva[i],
		    nn = parseInt(sn);
		if(nn > no || sn.length > so.length){
			return true;
		}else if(nn < no){
			return false;
		}
	}
	if(k > j && 0 == nv.indexOf(ov)){
		return true;
	}
}

/**
 * 下载wgt文件函数
 */
function downWgt(wgtUrl){
	//console.log(wgtUrl);
	var dtask = null;
	function createDownload(wgtUrl){
		var  w = plus.nativeUI.showWaiting("　　 开始下载...　　 ");
		dtask = plus.downloader.createDownload(wgtUrl,{filename:"_doc/update/"},function(d,status){
			if(status == 200){
				console.log("下载wgt成功："+d.filename);
				installWgt(d.filename); //安装wgt包
			}else{
				console.log("下载wgt失败!");
				plus.nativeUI.toast("下载wgt失败！");
			}
			plus.nativeUI.closeWaiting();
		});
		dtask.addEventListener( "statechanged", function(task,status){
            switch(task.state) {
                case 1: // 开始
                    w.setTitle("　　 开始下载...　　 ");
                break;
                case 2: // 已连接到服务器
                    w.setTitle("　　 开始下载...　　 ");
                break;
                case 3:
                    var a = task.downloadedSize/task.totalSize*100;
                    w.setTitle("　　 已下载"+parseInt(a)+"%　　 ");
                break;
                case 4: // 下载完成
                    w.close();
                break;
            }
        } );
		dtask.start();
	}
	//plus.nativeUI.showWaiting("下载wgt文件...");
	
	var type = plus.networkinfo.getCurrentType();
	if(type != 3){
		plus.nativeUI.confirm('当前网络状态不为wifi状态，是否下载新版本？',function(i){
			switch(i.index){
				case 0:
				
				break;
				case 1:
				createDownload(wgtUrl);
				break;
				default:
				break;
			}
		},'',['取消','确定']);
	}else{
		createDownload(wgtUrl);
	}		
}
//更新应用
function installWgt(path){
	//plus.nativeUI.showWaiting("安装wgt文件...");
	plus.runtime.install(path,{},function(){
		plus.nativeUI.closeWaiting();
		console.log("安装wgt文件成功！");
		plus.nativeUI.alert("应用资源更新完成!",function(){
			plus.runtime.restart();
		})
	},function(e){
		plus.nativeUI.closeWaiting();
		console.log("安装wgt文件失败["+e.code+"]:"+e.message);
		plus.nativeUI.alert("安装wgt文件失败["+e.code+"]:"+e.message);
	})
}
function version(callBack){
	var wgtVer = null;
	// 获取本地应用资源版本号
    plus.runtime.getProperty(plus.runtime.appid,function(inf){
        wgtVer=inf.version;
        console.log("当前应用版本："+wgtVer);
        if(callBack){
        	callBack(wgtVer);
        }    
    });
}
